A software product is typically developed with a base set of functionality which is accomplished by the software code, resources and metadata. This product (along with its code, resources and metadata) is typically referred to as the base product.
Certain difficulties arise when the base product, or any derivation of the base product, is customized. Customizations can occur, for example, when a software developer builds an add-on to a base product that has already been released. Such add-ons may be developed to extend or otherwise customize the base product, and the changes made to the base product are referred to as customizations.
It may happen that multiple different add-ons or other customizations are developed for the same base product. A customization conflict can arise when a single element in the base product is customized by two different customizations. When two or more different customizations contain modifications to the same base product element, they are said to be in conflict. In order to resolve such a conflict, the modifications to the base product element contained in only one of the customizations must be chosen and applied to the base product element.
It may also happen that a developer may develop an add-on or other customization of a product that is, itself, a customization of a base product. Therefore, the problem of which customization to apply in a conflict situation, especially where customizations are being made to an already-customized product can be fairly complicated.
The discussion above is merely provided for general background information and is not intended to be used as an aid in determining the scope of the claimed subject matter.